home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1999 #2 / Amiga Plus CD - 1999 - No. 2.iso / System-Boost / Grafik / AmiCAD / ARexx / CadrerTexte.AmiCAD < prev    next >
Text File  |  1998-06-17  |  2KB  |  48 lines

  1. /* Création d'un cadre avec effet de relief autour d'un texte ou plusieurs textes */
  2. /* © R.Florac, Samedi 28 Mars 1998, version 1.00 */
  3. /* $VER: CadrerTexte 1.01 (© R.Florac, 13/04/98) */
  4. /* Seuls les textes "normaux" sont utilisables, les textes ayant été tournés ne sont pas gérés */
  5.  
  6. options results     /* indispensable pour récupérer le résultat des macros */
  7.  
  8. signal on error     /* pour l'interception des erreurs */
  9. signal on syntax
  10.  
  11. 'FIRSTSEL'; objet=result
  12. if objet=0 then do
  13.     'MESSAGE("Sélectionnez d''abord"+CHR(10)+"les textes à encadrer")'
  14.     exit
  15. end
  16.  
  17. xg=100000; xd = 0; yh = 10000; yb = 0
  18. do while objet>0
  19.     'TYPE('objet')'
  20.     if result ~= 4 then do
  21.     'BLINK('objet')'
  22.     'MESSAGE("Objet de type incorrect"+CHR(10)+"Ne sélectionnez que"+CHR(10)+"des textes S.V.P.")'
  23.     exit
  24.     end
  25.     'COORDS('objet')'; coord=result
  26.     PARSE VAR coord x0 ',' y0
  27.     if x0<xg then xg=x0
  28.     if y0>yb then yb=y0
  29.     'WIDTH('objet')'; x0=x0+result
  30.     if x0>xd then xd=x0
  31.     'HEIGHT('objet')'; y0=y0-result
  32.     if y0<yh then yh=y0
  33.     'NEXTSEL('objet')'; objet=result
  34. end
  35. xg=xg-4; xd=xd+6; yh=yh; yb=yb+3
  36. 'SAVEALL(-1):DRAWMODE(1):MARK(DRAW('xg','yh','xd','yh')):MARK(DRAW('xg','yh','xg','yb')):DRAWMODE(2):MARK(DRAW('xd','yh'+1,'xd','yb')):MARK(DRAW('xg'+1,'yb','xd','yb')):MENU("Group")'
  37. exit
  38.  
  39. /* Traitement des erreurs, interruption du programme */
  40. syntax:
  41. erreur=RC
  42. 'MESSAGE("Script CadrerTexte"+"Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
  43. exit
  44.  
  45. error:
  46. 'MESSAGE("Script CadrerTexte"+"Erreur en ligne 'SIGL'")'
  47. exit
  48.